Balcheck Supplemental Info By Michael Matte October 2, 2017 I copied Balcheck II into an EEPROM. I then used the Bally Alley Balcheck code listing doc and manually changed the appropriate bytes, using my hi-res MLM, converting Balcheck II back to the original Balcheck. I just changed only the Balcheck test portion on the EEPROM. Surprisingly, it didn't take that long. I inserted the Balcheck EEPROM in my modified cassette cartridge and placed it in the cassette connector. I turned on my home built Balcheck display connected to the motherboard and turned on my hi-res Astrocade. Balcheck was working and as expected, it reported a checksum error. Since the original Balcheck's test checksum routine is only good for a motherboard with four 2K ROM chips, you have to change the checksum routine to pass the earlier 8K ROM's with a FC checksum and the later 8K ROM's with a A4 checksum. I followed the Bally Alley "Balcheck Information" doc and the changed the 5 bytes indicated in the doc (my Astrocade ROM is the later version with A4 checksum). I tried Balcheck again after the change and my Astrocade passed the checksum test. Also, when Balcheck exercises the output ports for the first time, it turns on a very irritating beeping sound that won't stop. I checked my Balcheck II code listing and found the necessary change to eliminate that irritating beeping. Here's the change: Original Balchek 2398H 3E FF LD A, 0FFH Balcheck II 2398H 7A LD A, D 2399H 00 NOP I don't recall why this change works, but it eliminates that beeping. The following is normal operation on a normal operating Balcheck unit: 1. When you first turn on Balcheck, the display will be initialized to -- When you see this initial display, Balcheck is telling you that the Z80 CPU and the ROM chip are operating. 2. After the initial display of -- during the time you see and hear Balcheck testing and exercising the outputs ports (including sound) Balcheck will display -0 and then 00. The display will continue repeating -0 and 00 even after the fourth pass when testing stops. After the fourth pass, the TV screen will blank and a blue 2 byte long rectangle to the right of center screen will be present. You can continue testing by pressing the Balcheck Q/S key. See Balcheck instruction manual, page 3, for appropriate Balcheck keypad layout. 3. Testing will terminate if an error is found and an error code sequence will be displayed beginning with the error code. See instructional manual, page 2 which lists the error code sequence and the possible error codes. Each error code is also detailed separately in the IM. The error sequence will continue to repeat. Especially note the info byte following the error code which requires interpretation. The interpretation is detailed in the IM for each error code. 4. Error code sequence example The checksum test routine is at address 211BH and it tests four 2K byte ROM chips plus Balcheck's ROM. If the routine is revised for an 8K byte ROM, the info byte following the error code 03 will display according to the revision but most likely will be -0. If Balcheck finds a checksum error, an error code 03, the error code sequence displayed will be similar to: 03 -0 HE LP -0 -- 03 is the error code -0 indicates 2K byte ROM chip 1 (0000-07FFH) checksum is in error. See IM, page 11 for interpretation. HELP -0 indicates the hour number error was reported, in this case the first hour (See IM, page 1) -- end of sequence 5. Error code sequence example If Balcheck finds a RAM error, error code 04, the error code sequence displayed will look like this: 04 XX HE LP -0 -- 04 is error code XX is info byte requiring interpretation. See example of info bytes and respective interpretations below. See also IM, page 12. HELP -0 explained in above example -- end of sequence Info byte XX examples Display MSD LSD left right Data line 7 6 5 4 3 2 1 0 bits Info byte Binary Bits in error displayed 06 0000 0110 1 and 2 80 1000 0000 7 01 0000 0001 Bit 0 L0 1101 0000 7,6 and 4 48 0100 1000 6 and 3 Blank Blank 1111 1111 all data bits I experimented with Balcheck's RAM error code. I pulled out RAM chip number 5 which is wired to data bit line 4 (D4). Sounds confusing but that's the way the data lines are labeled. The first data line is labeled D0 or data line 0. If you think of the first RAM chip as RAM chip 00, and the second RAM chip as chip number 01, etc. then the chip numbers will agree with the data line(bit) numbers. So, I pulled out RAM chip 04 from its socket and ran Balcheck. It reported an error displaying the following error code sequence: 04 10 HE LP -0 -- 04 is the error code 10 is the info byte interpreted as 0001 0000. So, if you count the bit numbers right to left beginning with bit 0, the 1 in the info byte indicates bit 4 is in error. Balcheck's report was right on. 6. The following is a listing of Signetics NE587 display and binary inputs: 7-segment Binary input LED display (interpretation) 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 - 1010 E 1011 H 1100 L 1101 P 1110 BLANK 1111 End of Document